package com.spsoft.system.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.spsoft.system.entity.NvatTrandtadvaltaxsep;
import com.spsoft.system.mapper.NvatTrandtadvaltaxsepMapper;
import com.spsoft.system.model.bo.official.InvoiceQueryBo;
import com.spsoft.system.model.vo.official.InvoiceFlowQueryVO;
import com.spsoft.system.model.vo.official.KpjgInfoVO;
import com.spsoft.system.model.vo.official.TransactionFlowVO;
import com.spsoft.system.model.vo.official.TransactionFpmxVO;
import com.spsoft.system.service.NvatTrandtadvaltaxsepService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author wangy
 * @description 针对表【NVAT_TRANDTADVALTAXSEP(交易数据信息表（共性字段表）
 * 注：对应数据模版字段包含共性字段（本表字段）+扩展信息字段，扩展信息字段对应表必须包含交易号、数据来源字段，采集数据时会将交易数据拆分成两部分数据。业务类型字段在数据采集时，按照业务梳理的给交易数据打上业务类型字段标识。
 * 如果应税判定字段不在扩展信息表在扩展表某个字段引用的其他表中，则以那张表的主键作为应税判定字段。
 * 数据采集时，如果没有交易客户编码的数据通过开户帐号与客户映射找到对应的客户编号来存储。
 * 该表的字段顺序请勿调整会影响批量开票存储过程。)】的数据库操作Service实现
 * @createDate 2024-01-04 13:05:39
 */
@Slf4j
@Service
@RequiredArgsConstructor
public class NvatTrandtadvaltaxsepServiceImpl extends ServiceImpl<NvatTrandtadvaltaxsepMapper, NvatTrandtadvaltaxsep> implements NvatTrandtadvaltaxsepService {

    @Override
    public List<InvoiceFlowQueryVO> queryByYwbh(InvoiceQueryBo dto) {
        return baseMapper.queryByYwbh(dto);
    }

    @Override
    public String queryNssbhByJyjg(String jyjg) {
        return baseMapper.queryNssbhByJyjg(jyjg);
    }

    @Override
    public List<TransactionFlowVO> queryByJyrqYwbh(String jrrq, String ywbh) {
        return baseMapper.queryByJyrqYwbh(jrrq, ywbh);
    }

    @Override
    public int updateLsztByRdids(Integer lszt, List<Long> rdidList, Integer conditionLszt, boolean clearWkpjeFlag) {
        return baseMapper.updateLsztByRdids(lszt, rdidList, conditionLszt, clearWkpjeFlag);
    }

//    @Override
//    public List<TransactionFpmxVO> queryDzfpKpmxByRdids(List<Long> rdidList) {
//        return baseMapper.queryDzfpKpmxByRdids(rdidList);
//    }

    @Override
    public KpjgInfoVO queryKpjgInfoByJyjg(String jyjg) {
        return baseMapper.queryKpjgInfoByJyjg(jyjg);
    }

    @Override
    public boolean rollbackLszt(List<NvatTrandtadvaltaxsep> jylsList) {
        return this.saveOrUpdateBatch(jylsList, 300);
    }

}




